package com.tedu.api.io;

import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

/**
 *Exception异常---检查异常---处理手段:抛出
 * throw与throws[异常关键字]
 * throw关键字:
 * 特点:主要用于方法体内，如果throw执行，一定抛出某种异常，
 *      且只能抛出一个异常对象--RuntimeException
 * 语法:方法体内-->throw new RuntimeException("自定义异常
 * throws关键字:
 * 特点:在主方法/方法后抛出，跟着异常对象名字,可以抛出多个对象，如果
 *     是多个对象，用逗号分隔，表示异常抛出方法或者主方法之外，并未处理
 *      [被动抛出异常]
 * 语法:throws 异常名字，异常名字【直接抛出Exception]{}
 */
public class Person {
    private int age; //年龄-私有属性

    public int getAge() {
        return age;
    }

    //创建Person对象--设置Person对象年龄---”主动抛出异常-1  121”
    public void setAge(int age) {
        if (age < 0 || age > 120) {//人 年龄:0~120岁	不合理
            throw new RuntimeException("年龄不合规异常");
        }
        this.age = age;
    }

    public static void main(String[] args) throws FileNotFoundException, Exception {
        //throws关键字 被动抛出异常
        FileOutputStream fis = new FileOutputStream(".");
        BufferedOutputStream bos = new BufferedOutputStream(fis, 10);


        Person p = new Person();
        //设定年龄：合理0~120
        p.setAge(121);
        System.out.println("我的年龄是：" + p.getAge());
    }

}